// pages/faceRegister/faceRegister.js
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    nickName: "",
    src: "", //图片的链接
    token: "",
    base64: "",
    msg: ""
  },

  uploadFun() {
    //上传人脸进行注册-----
    let that = this;
    wx.request({
      url: 'https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/add?access_token=' + this.data.token,
      method: 'POST',
      data: {
        image: this.data.base64,
        image_type: 'BASE64',
        group_id: 'qaz618859', //自己建的用户组id
        user_id: Date.now() + '_yz' //这里设置每张人脸的昵称
      },
      header: {
        'Content-Type': 'application/json' // 默认值
      },
      success(res) {
        that.setData({
          msg: res.data.error_msg
        })
        console.log("上传人脸进行注册:", res)
        //做成功判断
        if (that.data.msg == 'SUCCESS') {
          wx.showToast({
            title: '注册成功',
            icon: 'success',
            duration: 2000
          })
          let aa = setTimeout(()=>{
            clearTimeout(aa)
            wx.showToast({
              title: '马上人脸识别',
              icon: 'success',
              duration: 2000
            })
          },1500)
          let tm = setTimeout(()=>{
            clearTimeout(tm)
            wx.navigateTo({
              url: '../toRead/index',
            })
          },4000)
        }
      }
    })
  },
  getToken(){
    //acess_token获取，qs:需要多次尝试
    let that = this;
    wx.request({
      url: 'https://aip.baidubce.com/oauth/2.0/token', //是真实的接口地址
      data: {
        grant_type: 'client_credentials',
        client_id: 'ORUCBGkBSyvPl7f91Ws9doSY', //用你创建的应用的API Key
        client_secret: 'usRCzMka21ewTSWmNH5hMbEjTZsOGGGK' //用你创建的应用的Secret Key
      },
      header: {
        'Content-Type': 'application/json' // 默认值
      },
      success(res) {
        that.setData({
          token: res.data.access_token //获取到token
        })
        wx.showToast({
          title: 'token:' + res.data.access_token,
        })
        
        console.log("百度人脸token:", res.data.access_token)
        that.uploadFun()
      }
    })
  },

  //拍照
  takePhoto() {
    var that = this
    //拍照
    const ctx = wx.createCameraContext()
    ctx.takePhoto({
      quality: 'high',
      success: (res) => {
        this.setData({
          src: res.tempImagePath //获取图片
        })
        //图片base64编码
        wx.getFileSystemManager().readFile({
          filePath: this.data.src, //选择图片返回的相对路径
          encoding: 'base64', //编码格式返回
          success: res => { //成功回调
            wx.showToast({
              title: '拍照成功',
            })
            this.setData({
              base64: res.data
            })
            this.getToken()
          }
        })
      } //拍照成功结束
    }) //调用相机结束
    
    console.log(this.data.nickName)

    //失败尝试
    wx.showToast({
      title: '请重试',
      icon: 'loading',
      duration: 500
    })
  },
  error(e) {
    console.log(e.detail)
  },
  //获取用户信息
  bindGetUserInfo: function (e) {
    this.setData({
      nickName: e.detail.userInfo.nickName
    })
    wx.showToast({
      title: '授权成功',
      icon: 'success',
      duration: 1000
    })
  },
  btnreg: function () {
    wx.showModal({
      title: '注册须知',
      content: '先授权登陆，再拍照注册哦！网络可能故障，如果不成功，请再试一下！',
    })
  },




  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})